package com.ourteam.education.dao;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;
import org.apache.commons.lang.StringUtils;
/**
 * Template Name : DAO查询对象
 * Template Version : 1
 * Template Last Modfiy Date : Sat Aug 19 10:06:32 CST 2017
 * Auto Generate Date : 2019-09-22 15:15:08
  * Warning ! This file will be overwrite when regenerate !
  * 
 */
public class CourseItemDAOQueryBean extends BaseQueryBean {
    
    public CourseItemDAOQueryBean() {
		super();
    }
	
    public CourseItemDAOQueryBean(BaseQueryBean aQueryBean) {
        super(aQueryBean);
    }
    
    public CourseItemDAOQueryBean(BaseQueryBean aQueryBean,Map tableReplaceMap) {
        super(aQueryBean,tableReplaceMap);
    }
    
    public Criteria createCriteria() {
        
	    Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
                  oredCriteria.add(criteria);
            }
        return criteria;
     }
	
    protected Criteria createCriteriaInternal() {
	  return new Criteria(this);
    }
    
        
        
    	
		
	    
    public void addIdSelectProperty(){
		addIdSelectProperty("id");
	}
	
    public void addIdSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemDAO.Id,aAlias);
		}
		else{
			addSelectProperty(ICourseItemDAO.Id,"id");
	    }
    }
    
       
		
		
	    
    public void addCourseItemNameSelectProperty(){
		addCourseItemNameSelectProperty("courseItemName");
	}
	
    public void addCourseItemNameSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemDAO.CourseItemName,aAlias);
		}
		else{
			addSelectProperty(ICourseItemDAO.CourseItemName,"courseItemName");
	    }
    }
    
       
		
		
	    
    public void addStatusSelectProperty(){
		addStatusSelectProperty("status");
	}
	
    public void addStatusSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemDAO.Status,aAlias);
		}
		else{
			addSelectProperty(ICourseItemDAO.Status,"status");
	    }
    }
    
       
		
		
	    
    public void addRemarksSelectProperty(){
		addRemarksSelectProperty("remarks");
	}
	
    public void addRemarksSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemDAO.Remarks,aAlias);
		}
		else{
			addSelectProperty(ICourseItemDAO.Remarks,"remarks");
	    }
    }
    
       
		
		
	    
    public void addDeleteFlagSelectProperty(){
		addDeleteFlagSelectProperty("deleteFlag");
	}
	
    public void addDeleteFlagSelectProperty(String aAlias){
		if(StringUtils.isNotBlank(aAlias)){
			addSelectProperty(ICourseItemDAO.DeleteFlag,aAlias);
		}
		else{
			addSelectProperty(ICourseItemDAO.DeleteFlag,"deleteFlag");
	    }
    }
    
       
		
		
	public void addAllSelectProperties(){
		
		
	    addIdSelectProperty();
   
		
		
	    addCourseItemNameSelectProperty();
   
		
		
	    addStatusSelectProperty();
   
		
		
	    addRemarksSelectProperty();
   
		
		
	    addDeleteFlagSelectProperty();
   
		
	    }
    
    public static class Criteria extends BaseWhereCriterion<CourseItemDAOQueryBean> {
	
        protected Criteria(CourseItemDAOQueryBean aParentObject) {
		    super(aParentObject);
        }
        
                  
            	
    	    	
    	        
                
        public Criteria andIdIsNull() {
            addCriterion(ICourseItemDAO.Id + " is null");
            return this;
        }
        public Criteria andIdIsNotNull() {
            addCriterion(ICourseItemDAO.Id + " is not null");
            return this;
        }
    
        public Criteria andIdIsNotEmpty() {        
            addCriterion(ICourseItemDAO.Id + " is not null AND " + ICourseItemDAO.Id + " <> ''");
            return this;
        }
    		
    	public Criteria andIdIsEmpty() {       
            addCriterion("(" + ICourseItemDAO.Id + " is null OR " + ICourseItemDAO.Id + " = '')");
            return this;
        }
        
                
                        
                        
                                
        public Criteria andIdEqualTo(long value) {
        	return andIdEqualTo(Long.valueOf(value));
        }
               public Criteria andIdEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemDAO.Id + " = ", value, "id");
            return this;
        }
        
        public Criteria andIdEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Id);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Id + " = ", subQueryBean, dao);
			return this;
		}
                
        public Criteria andIdNotEqualTo(long value) {
        	return andIdNotEqualTo(Long.valueOf(value));
        }
                public Criteria andIdNotEqualTo(java.lang.Long value) {
        	        
            addCriterion(ICourseItemDAO.Id + " <>", value, "id");
            return this;
        }
               
        public Criteria andIdNotEqualToOrIsNull(long value) {
        	return andIdNotEqualToOrIsNull(Long.valueOf(value));
        }
                
        public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {
        	        
            addCriterion(ICourseItemDAO.Id + " is null OR " + ICourseItemDAO.Id + " <>", value, "id");
            return this;
        }
        
        public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Id);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Id + " <> ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andIdGreaterThan(long value) {
        	return andIdGreaterThan(Long.valueOf(value));
        }
                public Criteria andIdGreaterThan(java.lang.Long value) {
        				
            addCriterion(ICourseItemDAO.Id + " >", value, "id");
            return this;
        }
        
        public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Id);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Id + " > ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andIdGreaterThanOrEqualTo(long value) {
        	return andIdGreaterThanOrEqualTo(Long.valueOf(value));
        }
                public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemDAO.Id + " >=", value, "id");
            return this;
        }
        
        public Criteria andIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Id);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Id + " >= ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andIdLessThan(long value) {
        	return andIdLessThan(Long.valueOf(value));
        }
                public Criteria andIdLessThan(java.lang.Long value) {
        				
            addCriterion(ICourseItemDAO.Id + " <", value, "id");
            return this;
        }
        
        public Criteria andIdLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Id);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Id + " < ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andIdLessThanOrEqualTo(long value) {
        	return andIdLessThanOrEqualTo(Long.valueOf(value));
        }
                public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {
        				
            addCriterion(ICourseItemDAO.Id + " <=", value, "id");
            return this;
        }
        
        public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Id);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andIdLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Id + " <= ", subQueryBean, dao);
			return this;
		}
		
		        
                
        public Criteria andIdIn(long[] values) {
        	if(values.length == 1){
        		return andIdEqualTo((java.lang.Long)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.Id + " in", values, "id");
            	return this;
            }
        }
        
        public Criteria andIdNotIn(long[] values) {
        	if(values.length == 1){
        		return andIdNotEqualTo((java.lang.Long)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.Id + " not in", values, "id");
            	return this;
            }
        }
        
                public Criteria andIdIn(List<java.lang.Long> values) {
        	
        	if(values.size() == 1){
        		return andIdEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.Id + " in", values, "id");
            	return this;
            }
        }
        public Criteria andIdNotIn(List<java.lang.Long> values) {
        	if(values.size() == 1){
        		return andIdNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.Id + " not in", values, "id");
            	return this;
            }
        }
        
        public Criteria andIdIn(java.lang.Long[] values) {
        	
        	if(values.length == 1){
        		return andIdEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.Id + " in", Arrays.asList(values), "id");
            	return this;
            }
        }
        public Criteria andIdNotIn(java.lang.Long[] values) {
        	if(values.length == 1){
        		return andIdNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.Id + " not in", Arrays.asList(values), "id");
            	return this;
            }
        }
		
		public Criteria andIdIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Id + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andIdNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Id + " not in ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andIdBetween(long value1,long value2) {
        	addCriterion(ICourseItemDAO.Id + " between", value1, value2, "id");
            return this;
        }
                public Criteria andIdBetween(java.lang.Long value1, java.lang.Long value2) {
            addCriterion(ICourseItemDAO.Id + " between", value1, value2, "id");
            return this;
        }
        
                
        public Criteria andIdNotBetween(long value1,long value2) {
        	addCriterion(ICourseItemDAO.Id + " not between", value1, value2, "id");
            return this;
        }
                public Criteria andIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
            addCriterion(ICourseItemDAO.Id + " not between", value1, value2, "id");
            return this;
        }
        
            	
    	    	
    	    	
    	        
                
        public Criteria andCourseItemNameIsNull() {
            addCriterion(ICourseItemDAO.CourseItemName + " is null");
            return this;
        }
        public Criteria andCourseItemNameIsNotNull() {
            addCriterion(ICourseItemDAO.CourseItemName + " is not null");
            return this;
        }
    
        public Criteria andCourseItemNameIsNotEmpty() {        
            addCriterion(ICourseItemDAO.CourseItemName + " is not null AND " + ICourseItemDAO.CourseItemName + " <> ''");
            return this;
        }
    		
    	public Criteria andCourseItemNameIsEmpty() {       
            addCriterion("(" + ICourseItemDAO.CourseItemName + " is null OR " + ICourseItemDAO.CourseItemName + " = '')");
            return this;
        }
        
                
                        
                        
                               public Criteria andCourseItemNameEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.CourseItemName + " = ", value, "courseItemName");
            return this;
        }
        
        public Criteria andCourseItemNameEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.CourseItemName);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemNameEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.CourseItemName + " = ", subQueryBean, dao);
			return this;
		}
                public Criteria andCourseItemNameNotEqualTo(String value) {
        	        
            addCriterion(ICourseItemDAO.CourseItemName + " <>", value, "courseItemName");
            return this;
        }
               
        public Criteria andCourseItemNameNotEqualToOrIsNull(String value) {
        	        
            addCriterion(ICourseItemDAO.CourseItemName + " is null OR " + ICourseItemDAO.CourseItemName + " <>", value, "courseItemName");
            return this;
        }
        
        public Criteria andCourseItemNameNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.CourseItemName);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemNameNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.CourseItemName + " <> ", subQueryBean, dao);
			return this;
		}
               public Criteria andCourseItemNameGreaterThan(String value) {
        				
            addCriterion(ICourseItemDAO.CourseItemName + " >", value, "courseItemName");
            return this;
        }
        
        public Criteria andCourseItemNameGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.CourseItemName);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemNameGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.CourseItemName + " > ", subQueryBean, dao);
			return this;
		}
               public Criteria andCourseItemNameGreaterThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.CourseItemName + " >=", value, "courseItemName");
            return this;
        }
        
        public Criteria andCourseItemNameGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.CourseItemName);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemNameGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.CourseItemName + " >= ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andCourseItemNameLessThan(String value) {
        				
            addCriterion(ICourseItemDAO.CourseItemName + " <", value, "courseItemName");
            return this;
        }
        
        public Criteria andCourseItemNameLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.CourseItemName);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemNameLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.CourseItemName + " < ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andCourseItemNameLessThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.CourseItemName + " <=", value, "courseItemName");
            return this;
        }
        
        public Criteria andCourseItemNameLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.CourseItemName);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andCourseItemNameLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.CourseItemName + " <= ", subQueryBean, dao);
			return this;
		}
		
				
        public Criteria andCourseItemNameLike(String value) {
        	StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemDAO.CourseItemName + " like", buffer.toString(), "courseItemName");
            return this;
        }
        public Criteria andCourseItemNameNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemDAO.CourseItemName + " not like", buffer.toString(), "courseItemName");
            return this;
        }
                
                public Criteria andCourseItemNameIn(List<String> values) {
        	
        	if(values.size() == 1){
        		return andCourseItemNameEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.CourseItemName + " in", values, "courseItemName");
            	return this;
            }
        }
        public Criteria andCourseItemNameNotIn(List<String> values) {
        	if(values.size() == 1){
        		return andCourseItemNameNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.CourseItemName + " not in", values, "courseItemName");
            	return this;
            }
        }
        
        public Criteria andCourseItemNameIn(String[] values) {
        	
        	if(values.length == 1){
        		return andCourseItemNameEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.CourseItemName + " in", Arrays.asList(values), "courseItemName");
            	return this;
            }
        }
        public Criteria andCourseItemNameNotIn(String[] values) {
        	if(values.length == 1){
        		return andCourseItemNameNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.CourseItemName + " not in", Arrays.asList(values), "courseItemName");
            	return this;
            }
        }
		
		public Criteria andCourseItemNameIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.CourseItemName + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andCourseItemNameNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.CourseItemName + " not in ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andCourseItemNameBetween(String value1, String value2) {
            addCriterion(ICourseItemDAO.CourseItemName + " between", value1, value2, "courseItemName");
            return this;
        }
        
                public Criteria andCourseItemNameNotBetween(String value1, String value2) {
            addCriterion(ICourseItemDAO.CourseItemName + " not between", value1, value2, "courseItemName");
            return this;
        }
        
            	
    	    	
    	    	
    	        
                
        public Criteria andStatusIsNull() {
            addCriterion(ICourseItemDAO.Status + " is null");
            return this;
        }
        public Criteria andStatusIsNotNull() {
            addCriterion(ICourseItemDAO.Status + " is not null");
            return this;
        }
    
        public Criteria andStatusIsNotEmpty() {        
            addCriterion(ICourseItemDAO.Status + " is not null AND " + ICourseItemDAO.Status + " <> ''");
            return this;
        }
    		
    	public Criteria andStatusIsEmpty() {       
            addCriterion("(" + ICourseItemDAO.Status + " is null OR " + ICourseItemDAO.Status + " = '')");
            return this;
        }
        
                
                        
                        
                               public Criteria andStatusEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.Status + " = ", value, "status");
            return this;
        }
        
        public Criteria andStatusEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Status);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Status + " = ", subQueryBean, dao);
			return this;
		}
                public Criteria andStatusNotEqualTo(String value) {
        	        
            addCriterion(ICourseItemDAO.Status + " <>", value, "status");
            return this;
        }
               
        public Criteria andStatusNotEqualToOrIsNull(String value) {
        	        
            addCriterion(ICourseItemDAO.Status + " is null OR " + ICourseItemDAO.Status + " <>", value, "status");
            return this;
        }
        
        public Criteria andStatusNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Status);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Status + " <> ", subQueryBean, dao);
			return this;
		}
               public Criteria andStatusGreaterThan(String value) {
        				
            addCriterion(ICourseItemDAO.Status + " >", value, "status");
            return this;
        }
        
        public Criteria andStatusGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Status);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Status + " > ", subQueryBean, dao);
			return this;
		}
               public Criteria andStatusGreaterThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.Status + " >=", value, "status");
            return this;
        }
        
        public Criteria andStatusGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Status);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Status + " >= ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andStatusLessThan(String value) {
        				
            addCriterion(ICourseItemDAO.Status + " <", value, "status");
            return this;
        }
        
        public Criteria andStatusLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Status);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Status + " < ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andStatusLessThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.Status + " <=", value, "status");
            return this;
        }
        
        public Criteria andStatusLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Status);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andStatusLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Status + " <= ", subQueryBean, dao);
			return this;
		}
		
				
        public Criteria andStatusLike(String value) {
        	StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemDAO.Status + " like", buffer.toString(), "status");
            return this;
        }
        public Criteria andStatusNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemDAO.Status + " not like", buffer.toString(), "status");
            return this;
        }
                
                public Criteria andStatusIn(List<String> values) {
        	
        	if(values.size() == 1){
        		return andStatusEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.Status + " in", values, "status");
            	return this;
            }
        }
        public Criteria andStatusNotIn(List<String> values) {
        	if(values.size() == 1){
        		return andStatusNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.Status + " not in", values, "status");
            	return this;
            }
        }
        
        public Criteria andStatusIn(String[] values) {
        	
        	if(values.length == 1){
        		return andStatusEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.Status + " in", Arrays.asList(values), "status");
            	return this;
            }
        }
        public Criteria andStatusNotIn(String[] values) {
        	if(values.length == 1){
        		return andStatusNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.Status + " not in", Arrays.asList(values), "status");
            	return this;
            }
        }
		
		public Criteria andStatusIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Status + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andStatusNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Status + " not in ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andStatusBetween(String value1, String value2) {
            addCriterion(ICourseItemDAO.Status + " between", value1, value2, "status");
            return this;
        }
        
                public Criteria andStatusNotBetween(String value1, String value2) {
            addCriterion(ICourseItemDAO.Status + " not between", value1, value2, "status");
            return this;
        }
        
            	
    	    	
    	    	
    	        
                
        public Criteria andRemarksIsNull() {
            addCriterion(ICourseItemDAO.Remarks + " is null");
            return this;
        }
        public Criteria andRemarksIsNotNull() {
            addCriterion(ICourseItemDAO.Remarks + " is not null");
            return this;
        }
    
        public Criteria andRemarksIsNotEmpty() {        
            addCriterion(ICourseItemDAO.Remarks + " is not null AND " + ICourseItemDAO.Remarks + " <> ''");
            return this;
        }
    		
    	public Criteria andRemarksIsEmpty() {       
            addCriterion("(" + ICourseItemDAO.Remarks + " is null OR " + ICourseItemDAO.Remarks + " = '')");
            return this;
        }
        
                
                        
                        
                               public Criteria andRemarksEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.Remarks + " = ", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Remarks);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Remarks + " = ", subQueryBean, dao);
			return this;
		}
                public Criteria andRemarksNotEqualTo(String value) {
        	        
            addCriterion(ICourseItemDAO.Remarks + " <>", value, "remarks");
            return this;
        }
               
        public Criteria andRemarksNotEqualToOrIsNull(String value) {
        	        
            addCriterion(ICourseItemDAO.Remarks + " is null OR " + ICourseItemDAO.Remarks + " <>", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Remarks);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Remarks + " <> ", subQueryBean, dao);
			return this;
		}
               public Criteria andRemarksGreaterThan(String value) {
        				
            addCriterion(ICourseItemDAO.Remarks + " >", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.Remarks);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Remarks + " > ", subQueryBean, dao);
			return this;
		}
               public Criteria andRemarksGreaterThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.Remarks + " >=", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Remarks);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Remarks + " >= ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andRemarksLessThan(String value) {
        				
            addCriterion(ICourseItemDAO.Remarks + " <", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Remarks);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Remarks + " < ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andRemarksLessThanOrEqualTo(String value) {
        				
            addCriterion(ICourseItemDAO.Remarks + " <=", value, "remarks");
            return this;
        }
        
        public Criteria andRemarksLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.Remarks);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andRemarksLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Remarks + " <= ", subQueryBean, dao);
			return this;
		}
		
				
        public Criteria andRemarksLike(String value) {
        	StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemDAO.Remarks + " like", buffer.toString(), "remarks");
            return this;
        }
        public Criteria andRemarksNotLike(String value) {
            StringBuffer buffer = new StringBuffer("%");
        	buffer.append(value);
        	buffer.append("%");
            addCriterion(ICourseItemDAO.Remarks + " not like", buffer.toString(), "remarks");
            return this;
        }
                
                public Criteria andRemarksIn(List<String> values) {
        	
        	if(values.size() == 1){
        		return andRemarksEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.Remarks + " in", values, "remarks");
            	return this;
            }
        }
        public Criteria andRemarksNotIn(List<String> values) {
        	if(values.size() == 1){
        		return andRemarksNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.Remarks + " not in", values, "remarks");
            	return this;
            }
        }
        
        public Criteria andRemarksIn(String[] values) {
        	
        	if(values.length == 1){
        		return andRemarksEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.Remarks + " in", Arrays.asList(values), "remarks");
            	return this;
            }
        }
        public Criteria andRemarksNotIn(String[] values) {
        	if(values.length == 1){
        		return andRemarksNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.Remarks + " not in", Arrays.asList(values), "remarks");
            	return this;
            }
        }
		
		public Criteria andRemarksIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Remarks + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andRemarksNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.Remarks + " not in ", subQueryBean, dao);
			return this;
		}
        
                public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion(ICourseItemDAO.Remarks + " between", value1, value2, "remarks");
            return this;
        }
        
                public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion(ICourseItemDAO.Remarks + " not between", value1, value2, "remarks");
            return this;
        }
        
            	
    	    	
    	    	
    	        
                
        public Criteria andDeleteFlagIsNull() {
            addCriterion(ICourseItemDAO.DeleteFlag + " is null");
            return this;
        }
        public Criteria andDeleteFlagIsNotNull() {
            addCriterion(ICourseItemDAO.DeleteFlag + " is not null");
            return this;
        }
    
        public Criteria andDeleteFlagIsNotEmpty() {        
            addCriterion(ICourseItemDAO.DeleteFlag + " is not null AND " + ICourseItemDAO.DeleteFlag + " <> ''");
            return this;
        }
    		
    	public Criteria andDeleteFlagIsEmpty() {       
            addCriterion("(" + ICourseItemDAO.DeleteFlag + " is null OR " + ICourseItemDAO.DeleteFlag + " = '')");
            return this;
        }
        
                
                        
                        
                                
        public Criteria andDeleteFlagEqualTo(int value) {
        	return andDeleteFlagEqualTo(Integer.valueOf(value));
        }
               public Criteria andDeleteFlagEqualTo(java.lang.Integer value) {
        				
            addCriterion(ICourseItemDAO.DeleteFlag + " = ", value, "deleteFlag");
            return this;
        }
        
        public Criteria andDeleteFlagEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.DeleteFlag);
	    str.append(" = ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andDeleteFlagEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.DeleteFlag + " = ", subQueryBean, dao);
			return this;
		}
                
        public Criteria andDeleteFlagNotEqualTo(int value) {
        	return andDeleteFlagNotEqualTo(Integer.valueOf(value));
        }
                public Criteria andDeleteFlagNotEqualTo(java.lang.Integer value) {
        	        
            addCriterion(ICourseItemDAO.DeleteFlag + " <>", value, "deleteFlag");
            return this;
        }
               
        public Criteria andDeleteFlagNotEqualToOrIsNull(int value) {
        	return andDeleteFlagNotEqualToOrIsNull(Integer.valueOf(value));
        }
                
        public Criteria andDeleteFlagNotEqualToOrIsNull(java.lang.Integer value) {
        	        
            addCriterion(ICourseItemDAO.DeleteFlag + " is null OR " + ICourseItemDAO.DeleteFlag + " <>", value, "deleteFlag");
            return this;
        }
        
        public Criteria andDeleteFlagNotEqualToForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.DeleteFlag);
	    str.append(" <> ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andDeleteFlagNotEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.DeleteFlag + " <> ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andDeleteFlagGreaterThan(int value) {
        	return andDeleteFlagGreaterThan(Integer.valueOf(value));
        }
                public Criteria andDeleteFlagGreaterThan(java.lang.Integer value) {
        				
            addCriterion(ICourseItemDAO.DeleteFlag + " >", value, "deleteFlag");
            return this;
        }
        
        public Criteria andDeleteFlagGreaterThanForeignKey(java.lang.String key) {
	    StringBuffer str = new StringBuffer(ICourseItemDAO.DeleteFlag);
	    str.append(" > ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andDeleteFlagGreaterThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.DeleteFlag + " > ", subQueryBean, dao);
			return this;
		}
               
        public Criteria andDeleteFlagGreaterThanOrEqualTo(int value) {
        	return andDeleteFlagGreaterThanOrEqualTo(Integer.valueOf(value));
        }
                public Criteria andDeleteFlagGreaterThanOrEqualTo(java.lang.Integer value) {
        				
            addCriterion(ICourseItemDAO.DeleteFlag + " >=", value, "deleteFlag");
            return this;
        }
        
        public Criteria andDeleteFlagGreaterThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.DeleteFlag);
			str.append(" >= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andDeleteFlagGreaterThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.DeleteFlag + " >= ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andDeleteFlagLessThan(int value) {
        	return andDeleteFlagLessThan(Integer.valueOf(value));
        }
                public Criteria andDeleteFlagLessThan(java.lang.Integer value) {
        				
            addCriterion(ICourseItemDAO.DeleteFlag + " <", value, "deleteFlag");
            return this;
        }
        
        public Criteria andDeleteFlagLessThanForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.DeleteFlag);
			str.append(" < ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andDeleteFlagLessThan(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.DeleteFlag + " < ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andDeleteFlagLessThanOrEqualTo(int value) {
        	return andDeleteFlagLessThanOrEqualTo(Integer.valueOf(value));
        }
                public Criteria andDeleteFlagLessThanOrEqualTo(java.lang.Integer value) {
        				
            addCriterion(ICourseItemDAO.DeleteFlag + " <=", value, "deleteFlag");
            return this;
        }
        
        public Criteria andDeleteFlagLessThanOrEqualToForeignKey(java.lang.String key) {
			StringBuffer str = new StringBuffer(ICourseItemDAO.DeleteFlag);
			str.append(" <= ").append(key);
            addForeignKeyCriterion(str.toString());
            return this;
        }
		
		public Criteria andDeleteFlagLessThanOrEqualTo(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.DeleteFlag + " <= ", subQueryBean, dao);
			return this;
		}
		
		        
                
        public Criteria andDeleteFlagIn(int[] values) {
        	if(values.length == 1){
        		return andDeleteFlagEqualTo((java.lang.Integer)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.DeleteFlag + " in", values, "deleteFlag");
            	return this;
            }
        }
        
        public Criteria andDeleteFlagNotIn(int[] values) {
        	if(values.length == 1){
        		return andDeleteFlagNotEqualTo((java.lang.Integer)values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.DeleteFlag + " not in", values, "deleteFlag");
            	return this;
            }
        }
        
                public Criteria andDeleteFlagIn(List<java.lang.Integer> values) {
        	
        	if(values.size() == 1){
        		return andDeleteFlagEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.DeleteFlag + " in", values, "deleteFlag");
            	return this;
            }
        }
        public Criteria andDeleteFlagNotIn(List<java.lang.Integer> values) {
        	if(values.size() == 1){
        		return andDeleteFlagNotEqualTo(values.get(0));
        	}
        	else{
            	addCriterion(ICourseItemDAO.DeleteFlag + " not in", values, "deleteFlag");
            	return this;
            }
        }
        
        public Criteria andDeleteFlagIn(java.lang.Integer[] values) {
        	
        	if(values.length == 1){
        		return andDeleteFlagEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.DeleteFlag + " in", Arrays.asList(values), "deleteFlag");
            	return this;
            }
        }
        public Criteria andDeleteFlagNotIn(java.lang.Integer[] values) {
        	if(values.length == 1){
        		return andDeleteFlagNotEqualTo(values[0]);
        	}
        	else{
            	addCriterion(ICourseItemDAO.DeleteFlag + " not in", Arrays.asList(values), "deleteFlag");
            	return this;
            }
        }
		
		public Criteria andDeleteFlagIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.DeleteFlag + " in ", subQueryBean, dao);
			return this;
		}
		
		public Criteria andDeleteFlagNotIn(BaseQueryBean subQueryBean,
				IDataAccessInterface<?, ?> dao) {
			addCriterion(ICourseItemDAO.DeleteFlag + " not in ", subQueryBean, dao);
			return this;
		}
        
                
        public Criteria andDeleteFlagBetween(int value1,int value2) {
        	addCriterion(ICourseItemDAO.DeleteFlag + " between", value1, value2, "deleteFlag");
            return this;
        }
                public Criteria andDeleteFlagBetween(java.lang.Integer value1, java.lang.Integer value2) {
            addCriterion(ICourseItemDAO.DeleteFlag + " between", value1, value2, "deleteFlag");
            return this;
        }
        
                
        public Criteria andDeleteFlagNotBetween(int value1,int value2) {
        	addCriterion(ICourseItemDAO.DeleteFlag + " not between", value1, value2, "deleteFlag");
            return this;
        }
                public Criteria andDeleteFlagNotBetween(java.lang.Integer value1, java.lang.Integer value2) {
            addCriterion(ICourseItemDAO.DeleteFlag + " not between", value1, value2, "deleteFlag");
            return this;
        }
        
            	
    	    	
    	        
        
    }
	
    
}